package nba2kmodtool.filedesc;

/**3D model files in PackageFile*/
public class N2k3DModelPart {
	private static final int headerSize = 0xE0;
	private long unkown0;
	long unkown1;
	long unkown2;
	long unkown3;
	int dataChunkCount; //vertex & face data chunk count
	int no;
	int childNum; //Child part number
	N2k3DChildModelPart[] childParts;
	long unkown4;
	long unkown5;
	long childDefAddr; //child part definition
	long modelDefAddr; //3d model definition(point num, face num...) start
	long unkown8;
	int vertexNum; //vertex count
	int perVertexSize; //per vertex data size
	int perUVNSize; //per vertex UV and normal data size(Only valid when model has >1 chhid)
	long uvnDataStart; //per vertex UV and normal data size(Only valid when model has >1 chhid)
	int uvnDataSize; //per vertex UV and normal data size(Only valid when model has >1 chhid)
	int faceDataSize; //3d face data size(=BYTEs/2)
	int chunkCount; //data flag(definition data address)
	int childDefSize;
	long vertexDataStart;
	long faceDataStart;
	boolean isUVvalid;
	int modelDef1;
	int modelDef2;
	int modelVersion;
	int defType;
	int uvnDefType;;

	public int getModelVersion() {
		return modelVersion;
	}

	public int getModelDef1() {
		return modelDef1;
	}

	public int getModelDef2() {
		return modelDef2;
	}

	public int getDataChunkCount() {
		return dataChunkCount;
	}

	public int getVertexNum() {
		return vertexNum;
	}

	public void setVertexNum(int vertexNum) {
		this.vertexNum = vertexNum;
	}

	public int getPerVertexSize() {
		return perVertexSize;
	}

	public void setPerVertexSize(int perVertexSize) {
		this.perVertexSize = perVertexSize;
	}

	public int getPerUVNSize() {
		return perUVNSize;
	}

	public long getUvnDataStart() {
		return uvnDataStart;
	}

	public int getUvnDefType() {
		return uvnDefType;
	}

	public int getFaceDataSize() {
		return faceDataSize;
	}

	public void setFaceDataSize(int faceDataSize) {
		this.faceDataSize = faceDataSize;
	}

	public long getVertexDataStart() {
		return vertexDataStart;
	}

	public void setVertexDataStart(long vertexDataStart) {
		this.vertexDataStart = vertexDataStart;
	}

	public long getFaceDataStart() {
		return faceDataStart;
	}

	public void setFaceDataStart(long faceDataStart) {
		this.faceDataStart = faceDataStart;
	}

	public int getChildNum() {
		return childNum;
	}

	public void setChildNum(int childNum) {
		this.childNum = childNum;
	}

	public N2k3DChildModelPart[] getChildParts() {
		return childParts;
	}

}